# json 一种在各个编程语言中流通的数据格式
# 负责不同编程语言中的数据传递和交互
# 本质是一种带有特定格式的字符串
# 对于python来说 json数据要么是嵌套字典的列表, 要么是单个字典, 交互具有优势

# 使用json模块实现python数据和json数据的相互转化
# 转json数据
import json
data = [{"name": "张三", "age": 22}, {"name": "李四", "age": 14}, {"name": "王五", "age": 88}]
json_str = json.dumps(data)
print(type(json_str), json_str)

# 使用ensure_ascii=False让json_str显示中文
json_str = json.dumps(data, ensure_ascii=False)
print(type(json_str), json_str)

# 单字典也可以转json
dic = {"name": "张三", "age": 22}
json_str = json.dumps(dic, ensure_ascii=False)
print(type(dic), dic)

# 转python数据
s = '[{"name": "张三", "age": 22}, {"name": "李四", "age": 14}, {"name": "王五", "age": 88}]'
lis = json.loads(s)
print(type(lis), lis)

# 单个字典组成的字符串(json数据)也可以转python数据
s = '{"name": "张三", "age": 22}'
dic = json.loads(s)
print(type(dic), dic)
